home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / sml_nj / 93src.lha / src / env / environ.sig < prev    next >
Encoding:
Text File  |  1993-01-27  |  1.3 KB  |  37 lines

  1. (* Copyright 1989 by AT&T Bell Laboratories *)
  2. (* environ.sig *)
  3.  
  4. signature ENVIRONMENT =
  5. sig
  6.  
  7.   type statenv  (* = StaticEnv.statenv *)
  8.   type dynenv   (* = DynamicEnv.dynenv *)
  9.   type invenv   (* = InverseEnv.invenv *)
  10.  
  11.   type environment (* = {static: statenv, dynamic: dynenv, inverse: invenv} *)
  12.   type staticEnv   (* = {static: statenv, inverse: invenv} *)
  13.  
  14.   val emptyEnv : environment
  15.   val staticPart : environment -> staticEnv
  16.   val makeStaticEnv : statenv -> staticEnv
  17.  
  18.   val layerEnv    : environment * environment -> environment
  19.   val concatEnv   : environment * environment -> environment
  20.   val layerStatic : staticEnv * staticEnv -> staticEnv
  21.   val filterEnv   : environment * Symbol.symbol list -> environment
  22.   val filterStaticEnv   : staticEnv * Symbol.symbol list -> staticEnv
  23.   val consolidateEnv : environment -> environment
  24.   val consolidateStatic : staticEnv -> staticEnv
  25.  
  26.   val bindEnv : statenv * invenv * Access.lvar list
  27.                 * System.Unsafe.object vector * environment
  28.                 -> environment
  29.  
  30.   val catalogEnv : staticEnv -> Symbol.symbol list
  31.   val describe   : staticEnv -> Symbol.symbol -> unit
  32.  
  33.   val topLevelEnvRef : environment ref  (* interactive top level env *)
  34.   val pervasiveEnvRef : environment ref  (* pervasive environment *)
  35.  
  36. end (* structure Env *)
  37.